#ifndef _PRIVATE_MQTT_PUBLISH_MSG_H_
#define _PRIVATE_MQTT_PUBLISH_MSG_H_
#include "device_resource.h"
#include "stdint.h"
#include "unit_status_common.h"
extern uint64_t publish_id;
void compare_with_message2_1800_181B_status(Message2 *message2, Modbus_AllData *swap_all_data);
void compare_with_message2_1824_1828_status(Message2 *message2, Modbus_AllData *swap_all_data);
void compare_with_message2_18A4_18B5_status(Message2 *message2, Modbus_AllData *swap_all_data);

void publish_message2_status(uint64_t id, uint8_t box, Message2 *message2);

/**
 * @brief 比较并更新 Message1 中 0x3000~0x3009 寄存器对应的参数
 * @param message1 指向 Message1 结构体的指针
 * @param swap_all_data 指向 Modbus_AllData 结构体的指针
 */
void compare_with_message1_3000_3009_status(Message1 *message1, Modbus_AllData *swap_all_data);
/**
 * @brief 比较并更新 Message1 中 0x3016~0x301E 寄存器对应的温度保护参数
 * @param message1 指向 Message1 结构体的指针
 * @param swap_all_data 指向 Modbus_AllData 结构体的指针
 */
void compare_with_message1_3016_301E_status(Message1 *message1, Modbus_AllData *swap_all_data);
/**
 * @brief 比较并更新 Message1 中 0x302E~0x3036 寄存器对应的自动重合闸参数
 * @param message1 指向 Message1 结构体的指针
 * @param swap_all_data 指向 Modbus_AllData 结构体的指针
 */
void compare_with_message1_302E_3036_status(Message1 *message1, Modbus_AllData *swap_all_data);

void publish_message1_status(uint64_t id, uint8_t box, Message1 *message1);

#endif // !_PRIVATE_MQTT_PUBLISH_MSG_H_
